package com.divemotor.ventarepuestosinternet.controller;

import java.io.Serializable;

import javax.annotation.PostConstruct;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.ViewScoped;

import com.divemotor.ventarepuestosinternet.exception.DivemotorBusinessException;
import com.divemotor.ventarepuestosinternet.model.Etiqueta;
import com.divemotor.ventarepuestosinternet.service.EtiquetaService;
import com.divemotor.ventarepuestosinternet.util.Constantes;

@ManagedBean(name="etiquetaController")
@ViewScoped
public class EtiquetaController implements Serializable {

	private static final long serialVersionUID = -6675169906764446633L;

	private Etiqueta etiquetaDocumentoIdentidad;
	private Etiqueta etiquetaRuc;
	private Etiqueta etiquetaPlaca;
	private Etiqueta etiquetaChasis;
	private Etiqueta etiquetaTelefono1;
	private Etiqueta etiquetaTelefono2;	
	private Etiqueta etiquetaTelefono3;
	private Etiqueta etiquetaTelefono4;
	
	
	@ManagedProperty(value = "#{etiquetaService}")
	private EtiquetaService etiquetaService;
	
	public EtiquetaController() {
		System.out.println("Controller Etiqueta: Constructor");
	}
	
	@PostConstruct
	void init() {
		System.out.println("Controller Etiqueta: Post-Constructor");
		inicializarEtiquetas();
	}
	
	public void inicializarEtiquetas() {
		System.out.println("Controller Etiqueta: inicializarEtiquetas");
		try {
			this.etiquetaDocumentoIdentidad =  etiquetaService.obtenerEtiquetaPorCodigo(Constantes.CODIGO_ETIQUETA_DOCUMENTO_IDENTIDAD);
			this.etiquetaRuc =  etiquetaService.obtenerEtiquetaPorCodigo(Constantes.CODIGO_ETIQUETA_RUC);
			this.etiquetaPlaca =  etiquetaService.obtenerEtiquetaPorCodigo(Constantes.CODIGO_ETIQUETA_PLACA);
			this.etiquetaChasis =  etiquetaService.obtenerEtiquetaPorCodigo(Constantes.CODIGO_ETIQUETA_CHASIS);
			
			this.etiquetaTelefono1 =  etiquetaService.obtenerEtiquetaPorCodigo(Constantes.CODIGO_ETIQUETA_TELEFONO1);
			this.etiquetaTelefono2 =  etiquetaService.obtenerEtiquetaPorCodigo(Constantes.CODIGO_ETIQUETA_TELEFONO2);
			this.etiquetaTelefono3 =  etiquetaService.obtenerEtiquetaPorCodigo(Constantes.CODIGO_ETIQUETA_TELEFONO3);
			this.etiquetaTelefono4 =  etiquetaService.obtenerEtiquetaPorCodigo(Constantes.CODIGO_ETIQUETA_TELEFONO4);
			
		} catch (DivemotorBusinessException e) {
			e.printStackTrace();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	
	/**** Getters & Setters ****/

	public Etiqueta getEtiquetaDocumentoIdentidad() {
		return etiquetaDocumentoIdentidad;
	}

	public void setEtiquetaDocumentoIdentidad(Etiqueta etiquetaDocumentoIdentidad) {
		this.etiquetaDocumentoIdentidad = etiquetaDocumentoIdentidad;
	}

	public Etiqueta getEtiquetaRuc() {
		return etiquetaRuc;
	}

	public void setEtiquetaRuc(Etiqueta etiquetaRuc) {
		this.etiquetaRuc = etiquetaRuc;
	}

	public Etiqueta getEtiquetaPlaca() {
		return etiquetaPlaca;
	}

	public void setEtiquetaPlaca(Etiqueta etiquetaPlaca) {
		this.etiquetaPlaca = etiquetaPlaca;
	}

	public Etiqueta getEtiquetaChasis() {
		return etiquetaChasis;
	}

	public void setEtiquetaChasis(Etiqueta etiquetaChasis) {
		this.etiquetaChasis = etiquetaChasis;
	}

	public EtiquetaService getEtiquetaService() {
		return etiquetaService;
	}

	public void setEtiquetaService(EtiquetaService etiquetaService) {
		this.etiquetaService = etiquetaService;
	}

	public Etiqueta getEtiquetaTelefono1() {
		return etiquetaTelefono1;
	}

	public void setEtiquetaTelefono1(Etiqueta etiquetaTelefono1) {
		this.etiquetaTelefono1 = etiquetaTelefono1;
	}

	public Etiqueta getEtiquetaTelefono2() {
		return etiquetaTelefono2;
	}

	public void setEtiquetaTelefono2(Etiqueta etiquetaTelefono2) {
		this.etiquetaTelefono2 = etiquetaTelefono2;
	}

	public Etiqueta getEtiquetaTelefono3() {
		return etiquetaTelefono3;
	}

	public void setEtiquetaTelefono3(Etiqueta etiquetaTelefono3) {
		this.etiquetaTelefono3 = etiquetaTelefono3;
	}

	public Etiqueta getEtiquetaTelefono4() {
		return etiquetaTelefono4;
	}

	public void setEtiquetaTelefono4(Etiqueta etiquetaTelefono4) {
		this.etiquetaTelefono4 = etiquetaTelefono4;
	}
}
